home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Tools & Utilities
/
Collection of Tools and Utilities.iso
/
system
/
stpfcb12.zip
/
STOPFCBS.DOC
< prev
next >
Wrap
Text File
|
1991-05-27
|
8KB
|
147 lines
STOPFCBS is Copyright 1991 by Alex Boge.
Version 1.00 May 9, 1991
Version 1.01 May 10, 1991 Changes: Compiled with /G2 to run on 286 or
higher, added more functions, removed help and deinstall, and now reports
which functions was stopped.
Version 1.10 May 23, 1991. OPS! Since I developed and tested STOPFCBS under
4DOS instead of COMMAND.COM I didn't "know" that COMMAND.COM uses FCB
functions 13H & 17H. Had to remove these from the intercept list. Drats!
Version 1.20 May 27, 1991. STOPFCBS now uses the multiplex interrupt 2Fh
to detect that it has been installed preventing multiple installs. Also,
since this interrupt is used by SHARE itself, STOPFCBS will prevent SHARE
from installing (returning a "SHARE is already installed." message).
USE THIS PROGRAM COMPLETELY AT YOUR OWN RISK. IT WORKS ON MY EQUIPMENT BUT
I DO *NOT* WARRANT THAT IT WILL WORK ON YOURS. I AM NOT LIABLE FOR ANY HARM
THAT MAY BE CAUSED BY THE USE OF THIS PROGRAM.
Whew! Got that outta the way. Basically, I've tested this program on my
own equipment and found it to work just fine but if it should nuke your FAT
tables; don't say I didn't warn you. STOPFCBS doesn't REPLACE SHARE, but
it can be used in place of SHARE.
QUICKY START:
=============
Alright, real quick now. STOPFCBS stops two FCB functions that could lead
to harm on a >32Mb disk partition. To install STOPFCBS you have two easy
ways to do this. You can simply type STOPFCBS at any command line and it
will load (you can, of course, add this command to your AUTOEXEC.BAT file).
Also, and a thanks to Mike Turner for letting me know this, you can use the
INSTALL= line in your CONFIG.SYS file (if you're already installing SHARE
this way, just replace the SHARE.EXE with STOPFCBS.EXE). This is not only
easier, it will also suppress the "WARNING! SHARE blah blah" message you
get if by the end of the CONFIG.SYS file DOS doesn't find multiplex 10H
installed.
STOPFCBS is the result of being frustrated with a silly problem I gained after
upgrading my system from DOS 3.3 to 4.01 and using BIGDOS (>32 Mb) partitions.
I was being told I needed to load SHARE.EXE. I questioned "why? I'm not on
a network and don't need file sharing." The guru's I could find said I needed
SHARE not for the file locking but so that some programs that still used FCB
oriented functions wouldn't trash my big drive.
I thought...hey, I don't have any of those old programs around...but, heck,
I'm on a 386, I'll just load SHARE high and forget about it...safe, that's me!
Well...come to find out, SHARE brought me one little headache. Seems that
the DSZ program that I use for YModem-g downloads with write access locked.
Why should this bother me? Let me tell you how I do my downloads...
I run Desqview. I download in one window and continue to work in others.
Sometimes I can't wait for all the files I've got in batch download to finish
so I pop over to my download directory and unZIP some of the ones that made
it already. So..I unZIP file #1 while #2 is still downloading. No problem.
I also use 4DOS, for my DOS windows under Desqview (and as my primary too).
So...after I'm done looking at the unZIPped #1 file I want to kill all the
files that came outta it but leave the .ZIPs alone, ESPECIALLY the one that
is still downloading! Sooooo, I just do a quick EXCEPT (*.ZIP) DEL *.*
Zam...done. Except now, "SHARE VIOLATION" - great! The EXCEPT command
can't change the attribute on the .ZIP being downloaded cause SHARE (and DSZ)
say "Nope...it's write protected!"
I know, I know, I can unzip to a different directory...and all that but, well,
I just don't WANT to. Besides, time to try out some new programming tools.
Just got the new beta of P.D.Q., let's see if it works.
O.K., what does STOPFCBS really do. Simple. It goes resident and watches
all the INT 21H calls. When it get's one that uses either function 0FH or
16H, it takes over and returns a FFH status code, which is a failure. Also,
the user is notified by a beep and a message (which can be "silenced").
See...SHARE does one good thing. It handles FCB function calls so that if
a BIGDOS partition is being accessed, the FCBs are modified to support this
extra large addressing scheme. Since I don't know how that is done and no
one else does (or won't tell me). I figured...heck, anything old enough to
still use FCBs I don't want and can live without, I wrote STOPFCBS.
Much more interestingly...I *DID* find a program that used FCBs and I actually
suffered data loss with it. That program is the "Programmers Editor" from
Word Perfect, it came with their Library package some time ago. I ran this
once when I didn't have SHARE loaded (as a test). WHAM, overwrote part of
my FAT table! I instantly found a use for STOPFCBS.
Sorry this is so long but I wanted you to know the story and understand
why this program is.
Installation:
=============
Type STOPFCBS at any command line. Add /Q to this command if you don't want
a message displayed when STOPFCBS does it's stuff. Placing STOPFCBS in your
AUTOEXEC.BAT file is an easy way to insure loading each time you boot.
Alternately, you can load STOPFCBS in your CONFIG.SYS file by using:
INSTALL=STOPFCBS.EXE
Add a path name if the program is not in C:\ and you can still append a "/Q".
This method requries DOS 4 or higher and does suppress the "WARNING..."
message you would normally receive if you were loading via the AUTOEXEC.BAT.
Technical stuff:
================
STOPFCBS will ONLY run on 286's or higher and DOS 3.1 or higher. STOPFCBS
occupies about 4.7 Kilobytes of memory and it can be loaded into high RAM.
This TSR will intercept INT 21H functions 0FH and 16H and return a FFH value
in AL (which is the status code for failure). Also, it will beep to let
you know this was done. Unless you quiet it with a /Q on the command line at
load time, it will also display a one line message at the top of a text screen
then pause 36 timer tics (about 2 seconds) before continuing.
STOPFCBS also hooks interrupt 2Fh. It watches for AH=10H which is the multi-
plex number for the resident portion of SHARE. If the function in AL is
0 or 80h then it returns the FFh (already installed) code in AL. This prevents
multiple installs of STOPFCBS and also prevents SHARE from loading.
NOTE: According to the technical reference manual for DOS, the function should
be zero but testing proves that this is not true, SHARE was loading AL with
80h - to support this, both values are checked for.
No other INTs or functions are touched.
STOPFCBS was written in about 20 minutes using Microsoft BASIC Professional
Development System version 7.10. It was linked with Crescent Software's
EXCELLENT P.D.Q. library version 2.18. If you program in BASIC and don't
have P.D.Q. then your programs are too big and too slow. TSR capability
is built in and very simple to implement.
The BASIC source code is included. If you distribute it, please do not
modify it (MY name is on it & I'm not taking blame for any errors not my own).
My name is Alex Boge and you can reach me via CompuServe at 72470,402
or via mail at 7384 Grandview Pt., Washington, MI 48094 or via phone at
(313) 781-2124 (between noon and about 3 a.m. EST). I'll be happy to
talk about STOPFCBS or SHARE or your ideas for new programs.
Please feel free to distribute this program to anyone who needs it but don't
charge for it (except for a nominal fee for a diskette if necessary). I
don't want cash, want a pat on the back.